package jianzhiOffer;

/**
 * 27. 二叉树的镜像
 * 请完成一个函数，输入一个二叉树，该函数输出它的镜像。
 *
 * @author 司松坡
 * @createTime 2023年04月25日
 */
public class Jian27 {
    public TreeNode mirrorTree(TreeNode root) {
        if (null == root) {
            return null;
        }
        TreeNode res = new TreeNode(root.val);
        mirror(root,res);
        return res;
    }

    private void mirror(TreeNode treeNode1, TreeNode treeNode2) {
        if (treeNode1.left != null) {
            treeNode2.right = new TreeNode(treeNode1.left.val);
            mirror(treeNode1.left,treeNode2.right);
        }
        if (treeNode1.right != null) {
            treeNode2.left = new TreeNode(treeNode1.right.val);
            mirror(treeNode1.right,treeNode2.left);
        }
    }


}
